home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.esc;
-
- import java.awt.Component;
- import java.awt.Point;
- import java.awt.event.MouseEvent;
- import javax.swing.JPopupMenu;
- import javax.swing.JTable;
- import javax.swing.JTree;
- import javax.swing.ListSelectionModel;
- import javax.swing.table.TableCellEditor;
-
- public class JTreeTable extends JTable {
- protected TreeTableCellRenderer tree;
- protected TreeTableModel treeModel;
-
- public JTreeTable(TreeTableModel var1) {
- this.setTreeModel(var1);
- ListToTreeSelectionModelWrapper var2 = new ListToTreeSelectionModelWrapper(this);
- this.tree.setSelectionModel(var2);
- ((JTable)this).setSelectionModel(var2.getListSelectionModel());
- this.tree.setRowHeight(((JTable)this).getRowHeight());
- ((JTable)this).setDefaultRenderer(Class.forName("com.extensibility.esc.TreeTableModel"), this.tree);
- ((JTable)this).setDefaultEditor(Class.forName("com.extensibility.esc.TreeTableModel"), new TreeTableCellEditor(this));
- ((Component)this).addMouseListener(new 1(this));
- }
-
- public void setTreeModel(TreeTableModel var1) {
- this.treeModel = var1;
- this.tree = new TreeTableCellRenderer(this, var1);
- super.setModel(new TreeTableModelAdapter(var1, this.tree));
- this.tree.setScrollsOnExpand(true);
- }
-
- public void updateUI() {
- super.updateUI();
- if (this.tree != null) {
- this.tree.updateUI();
- }
-
- }
-
- public TreeTableModel getTreeModel() {
- return this.treeModel;
- }
-
- public JTree getTree() {
- return this.tree;
- }
-
- public int getEditingRow() {
- return ((JTable)this).getColumnClass(super.editingColumn) == Class.forName("com.extensibility.esc.TreeTableModel") ? -1 : super.editingRow;
- }
-
- protected void doCellPopup(MouseEvent var1) {
- Point var3 = var1.getPoint();
- int var4 = ((JTable)this).rowAtPoint(var3);
- int var5 = ((JTable)this).columnAtPoint(var3);
- if (var4 != -1 && var5 != -1) {
- ListSelectionModel var6 = ((JTable)this).getSelectionModel();
- if (!var6.isSelectedIndex(var4)) {
- var6.setSelectionInterval(var4, var4);
- }
-
- TableCellEditor var2 = ((JTable)this).getCellEditor(var4, var5);
- JPopupMenu var7 = this.createCellPopup(var1, var4, var5, var2);
- if (var7 != null) {
- var7.show(this, var3.x, var3.y);
- }
-
- }
- }
-
- protected JPopupMenu createCellPopup(MouseEvent var1, int var2, int var3, TableCellEditor var4) {
- return null;
- }
- }
-